#include <bits/stdc++.h>
#define int long long 
using namespace std;

const int p = 1e9 + 7;
int n, a, b;

int qmi(int a, int b){
	int res=1;
	while(b){
		if(b&1){
			res=res*a%p;
		}
		a=a*a%p;
		b>>=1;
	}
	return res;
}


int inv(int x){ // 逆元
	return qmi(x, p-2);
}

int C(int n, int m){ // 组合数
	int res=1;
	for(int i=n;i>=n-m+1;i--){
		res=res*i%p;
	}
	for (int i=1;i<=m;i++) {
		res=res*inv(i)%p; // 每次都直接求逆元
	}
	return res;
}

int mo(int x){
	return (x%p+p)%p;
}


void solve(){
	cin>>n>>a>>b;
	int ans=mo(mo(qmi(2, n)-1-C(n, a))-C(n, b));
	cout << ans<<'\n';
}

signed main(){
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	solve();
	return 0;
}
